iT邦幫忙

2023 iThome 鐵人賽

DAY 17
0
Security

我推的資安系列 第 17

我推的資安Day17_公開金鑰密碼系統RSA(2/6)

  • 分享至 

  • xImage
  •  

昨天說了公開金鑰密碼的基本概念,今天繼續說

RSA

在公開金鑰密碼系統中,最為著名的是RSA,直到現在RSA依然還在用。

RSA的流程分為:計算金鑰、加密、解密。只有計算金鑰比較多步驟,剩下都是一行就能解決的。

  • 計算金鑰:
    1.首先會選擇2個大質數pq
    2.之後會計算https://chart.googleapis.com/chart?cht=tx&chl=N%20%3D%20%20p%20*%20qhttps://chart.googleapis.com/chart?cht=tx&chl=%5Cphi(N)%20%3D%20(p-1)(q-1) ,其中 https://chart.googleapis.com/chart?cht=tx&chl=%5Cphi(N) 的意思是小於N的整數中與N互質。 舉個例:https://chart.googleapis.com/chart?cht=tx&chl=%5Cphi(8)%20%3D%204 跟8互質的有1、3、5、7,所以有4個。
    3.找一個數xhttps://chart.googleapis.com/chart?cht=tx&chl=%5Cphi(N) 互質,那麼(x,N )就是公鑰了。
    4.私密y則是計算https://chart.googleapis.com/chart?cht=tx&chl=y%20%5Ctimes%20x%20 mod https://chart.googleapis.com/chart?cht=tx&chl=%5Cphi(N)%20%3D%201。(mod是指除法的餘數)
    這邊的xy互為乘法反元素。 (乘法反元素就是倒數的意思)
  • 加密:C = https://chart.googleapis.com/chart?cht=tx&chl=E_x(M) = https://chart.googleapis.com/chart?cht=tx&chl=M%5Ex mod N
  • 解密:M = https://chart.googleapis.com/chart?cht=tx&chl=D_y(C) = https://chart.googleapis.com/chart?cht=tx&chl=C%5Ey mod N

D(C )中可以得到https://chart.googleapis.com/chart?cht=tx&chl=M%5E1 ,這樣就完成RSA的加解密了。

RSA的安全性是基於因式分解N,只要不被分解計算出來就是安全的。
目前RSA有支援金鑰長度是2048 ~ 4096位元。


上一篇
我推的資安Day16_非對稱密碼系統(1/6)
下一篇
我推的資安Day18_公開金鑰密碼系統ElGamal(3/6)
系列文
我推的資安30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言